﻿using System;
using System.Collections.Generic;

using SBPweb.PROvibe.Shared.Contracts.Services;

namespace SBPweb.PROvibe.Shared.Contracts.Content
{

    public interface IContentProvider : IService
    {

        int GetCurrentPageId(ClientDescriptor clientDescriptor);

        int GetCurrentThemeManagerId(ClientDescriptor clientDescriptor);

        TypeDescriptor GetTypeDescriptorById(int typeId);

        IDictionary<string, object> GetFullSessionBag(ClientDescriptor clientDescriptor);

        void PutFullSessionBag(ClientDescriptor clientDescriptor, IDictionary<string, object> values);

        void AddSessionBagItem(ClientDescriptor clientDescriptor, string key, object value);

        void ChangeSessionBagItem(ClientDescriptor clientDescriptor, string key, object newValue);

        void RemoveSessionBagItem(ClientDescriptor clientDescriptor, string key);

    }

}